This application relates to electronic documents, and, in particular, to generation and delivery of electronic documents.
Form documents are required in a myriad of circumstances for communicating information in a standard format. Consider, for example, employment applications that usually comprise a check boxes, blanks, and boxes for entering information about the applicant. Various federal, state, and local governments often use forms to convey information. As an example, an application for recordation of an assignment before the U.S. Patent and Trademark Office is such a form, as are the various documents used by applicants and the International Bureau for Patent Cooperation Treaty patent applications. As another example, financial institutions and insurance companies usually use forms for their applications and contracts.
With the introduction of the typewriter in the workplace, form documents were formatted to allow one to type in the information. In that manner, the information would be more legible. As computers and the Internet found their way into homes and businesses, forms have been made available in electronic format. Perhaps, the most prevalent of the electronic formats is known as the portable document format (“PDF”) which is supported by software provided by Adobe Systems Incorporated. Other formats include, but are not limited to tagged image file format (“TIFF”), bit-mapped graphics format (“BMP”), PC Paintbrush bitmapped file (“PCX”) format, and formats for word processors such as WORD provided by Microsoft Corporation, Redmond, Wash.
While forms can be provided in a variety of electronic formats, it is generally true that a format-specific program is required to complete the information in the form. For example, to complete information in a WORD document, one must have the WORD word processing program, and to complete information in a PDF file, one must have what is known as Adobe Writer™ provided by Adobe Systems Incorporated. Such “writing” programs may be in addition to programs used by the user for the main purpose(s) for which the user uses the computer, and are certainly in addition to an application using forms that is accessed over the Internet with such application executing in a location remote from the user's computer. Thus, it is desired to provide a system and method for electronic form document editing that does not require such an additional format-specific program to complete the information on the form.
There sometimes exist limitations with regard to distribution of electronic forms. Government forms are generally made available to the public at no cost. However, many private entities only provide their forms to those who have a legitimate business interest in having such forms, and may even charge for the provision of such forms. Consider, for example, forms provided to dealers, such as automobile dealers, from financial institutions and insurance companies. Financial institutions and insurance companies often qualify entities with which those institutions or companies will do business. That qualification may come in the form of a contract with a dealer or other form user. Often, pursuant to the contract, the dealer receives a commission or other fee for selling services of the institution or company to customers of the dealer. For various reasons, not every possible dealer will be permitted to sell the services of any specific institution or company. The institution or company may also charge the dealer for the forms it uses in reselling the services of the institution or company or for completion and submission of the forms.
One system used to support automobile, truck, and other dealers is provided by ADP, Inc. of Roseland, N.J. One version of the system includes software that operates on the dealer's computer system (referred to herein as the Dealer Management System or DMS), and another version is web-based wherein the dealer accesses the system over the Internet. Both versions of the system provide the dealer with a variety of functions, including the ability to complete forms provided by financial institutions and insurance companies. These forms include, but are not limited to, a bill of sale, a work order authorization, and lease, financing, and insurance documents. At present, the dealer obtains paper copies of the forms for the financial institutions or insurance companies for whom the dealer is qualified to resell services. The dealer enters information on a system used by the dealer for completion of a form, places a paper copy of the form into the dealer's printer, usually an impact printer, a laser printer, or an inkjet printer, instructs the system to print the form, and then the system prints the completed information onto the printed form fed into the printer by the dealer.
The use of printed forms in a printer has several shortcomings. First, the dealer must obtain paper forms. Second, the dealer must be certain to have the most current version of the form, and may find it difficult to ascertain what constitutes “current”. There is also a risk that the paper form inserted by the dealer is the incorrect form or is an outdated form. The use of pre-printed forms also makes it difficult for the institution or company to control the use of its forms. The problems related to use of the appropriate forms are so significant that some lenders even send people out to dealers to pull out-of-date forms out of the dealer's stock of forms. Therefore, it is desired to provide a system and method for handling forms that allow the owner of the form to control which forms are used without significant effort, insure that the “current” form is used, do not require that the forms be provided separate from their generation and printing, and eliminate the possibility of printing information on the incorrect form.
While standard formats, such as the PDF format, are useful in many applications wherein forms are provided to different users, such standard formats may not have applicability where there are differences in the users' applications that access such forms. Differences in the user applications may arise from users having different versions of the same application or where the application provides user defined fields that are used to complete the information required for a form. Often applications that access forms for completing forms with the appropriate data acquire that data from a database managed by the user. Such user databases may not store data in the same manner.
Most database fields within a given application are rigidly defined in terms of expected content. That is, a field will generally have an associated field name and only data format or structure appropriate to that name is stored in the field. For instance, a field may be called “Price,” and the software will only store, and allow to be stored, data formatted similar to “10.00”, i.e. numeric data that could reasonably be interpreted as a price.
When software applications are new, it is generally true that developers are aware that, due to time or other constraints, they are not be able to build all of the database fields that will be required by the end user. In addition, development teams may sometimes want to give users flexibility beyond the software design, by giving the users places to put data that was not defined as part of the standard database structure.
While not as common with newer databases, older legacy databases often have fields that are indeterminate in nature. A few fields in a database often have been left “undefined” as to the expected contents, with generic labels on them such as “Miscellaneous 1” or “Auxiliary Field 2”. Developers provided the database user with software tools for the user to apply custom labels to such fields and to assist the user in remembering what type of data is stored in each field so that the custom field can be used consistently. In some implementations, the user is also able to associate a data type with the field.
Such practices and designs have allowed users over the years to essentially define their own database. Typically two users will make different decisions as to how custom fields are used. However, users often have the same problems to solve. This leads to differences in database structure between users, even between users that are using the same software, in the same version, from the same vendor. For instance, if “Odometer Reading” data does not have a defined place in the database, one user may choose to put “Odometer Reading” data in the “Miscellaneous 1” field, while another chooses to put “Odometer Reading” data in “Auxiliary Field 2”. These two users now have incompatible databases. Data from one system cannot be moved to the other system without serious side effects.
For instance, suppose that a certain software package containing several customizable fields has been developed and shipped to clients and has been installed at several client sites for some time. Further suppose that, as is often the case, the various clients have each chosen to put different data in the various customizable fields, for example, no two clients are putting “Odometer Reading” data in exactly the same place. Sometime after the software is installed, the software vendor wants to sell a form to clients that can be printed from within the software. The form requires “Odometer Reading” data. The software vendor knows that most clients have “Odometer Reading” data stored in a custom field in a database. However, since the data isn't consistently located, or even consistently named, in the database, it is difficult for the software vendor to program a form solution that will work for all of their clients. The software vendor may have to program a custom form for each client, greatly increasing the cost of the forms delivery, and reducing revenue from sales of the new form product.
In an alternative scenario, sometime after the software is installed, the software vendor may realize that all or most of their clients want “Odometer Reading” data as part of the standard database. The software vendor adds the field to the database, and ships a new version of the software to clients. The clients install the software, but existing Odometer data on the system is stored in a custom field, while newly entered Odometer data is stored in the new standard field. Clients have to look in multiple places for the data, or the vendor has to develop an expensive user routine that allows the client to move existing data into the new field.
Similar issues arise when a client buys a rival business. During the process of consolidating the data from their computer systems, the client may discover that, even though the computer systems are from the same vendor, data isn't stored in the same places on both systems, and so can't be easily migrated from one system to another. The client, or the software vendor, or both, may be forced to spend time and money developing custom software that will correctly migrate data from one system to the other to support the consolidation effort.
Many other scenarios exist that create problems when forms are to be printed that required data stored in a database to be inserted in specific places on the forms.
A system and method for electronic document generation, delivery, and printing is disclosed herein.
According to one aspect of the disclosure, a system for generating and providing at least one electronic form to a user includes a file management sub-system, a first user sub-system, a first print engine, a second user sub-system, a second print engine, a mapper sub-system and a delivery sub-system. The file management sub-system is for receipt and management of at least a first and a second standard form. The first standard form includes a first location thereon in which data of a first type is to be inserted and a second location thereon in which data of a second type is to be inserted to generate a first filled form. The second standard form includes a third location thereon in which data of a third type is to be inserted and a fourth location thereon in which data of a fourth type is to be inserted to generate a second filled form. The first user sub-system is for selection of a desired form from the at least a first standard form and the second standard form. The first user sub-system comprises at least a first memory location at which data of the first type is stored, a second memory location at which data of the second type is stored, a third memory location at which data of the third type is stored and a fourth memory location at which data of the fourth type is stored and a first printer. The a first print engine is communicatively coupled to the first printer. The second user sub-system is for selection of a desired form from the at least a first standard form and the second standard form. The second user sub-system comprises at least a fifth memory location at which data of the first type is stored, a sixth memory location at which data of the second type is stored, a seventh memory location at which data of the third type is stored and an eighth memory location at which data of the fourth type is stored and a second printer. The second print engine is communicatively coupled to the second printer. The mapper sub-system is running mapper software for mapping of standard forms into digital form files. The first standard form is mapped into a first digital form file identifying graphical and/or textual elements of the first standard form, a first pre-defined data input field for receipt of data of the first type to be placed on the first standard form, and a location on the first standard form for the first pre-defined data input field, a second pre-defined data input field for receipt of data of the second type to be placed on the first standard form and a location on the first standard form for the second pre-defined data input field The second standard form is mapped into a second digital form file identifying graphical and/or textual elements of the second standard form, a third pre-defined data input field for receipt of data of the third type to be placed on the second standard form and a location on the second standard form for the second pre-defined data input field. The delivery sub-system is operably connected to the file management sub-system, the mapper sub-system, the first user sub-system and the second user sub-system. The delivery sub-system is configured to retrieve from the first user sub-system an indication of a desired form selected from the first and second standard forms and a first delivery address for electronic delivery of a digital form file mapped from the desired form. The delivery sub-system includes a mechanism for creation of a script reflective of the desired form including the digital form file mapped from the desired form and a mechanism for execution of the script to electronically deliver the digital form file mapped from the desired form to the first user sub-system at the first delivery address. The delivery sub-system is also configured to retrieve from the second user sub-system an indication of a desired form selected from the first and second standard forms and a second delivery address for electronic delivery of a digital form file mapped from the desired form. The delivery sub-system includes a mechanism for creation of a script reflective of the desired form including the digital form file mapped from the desired form and a mechanism for execution of the script to electronically deliver the digital form file mapped from the desired form to the second user sub-system at the second delivery address. When an indication is received from the first user sub-system that the first standard form is the desired form, the first print engine is configured to merge the data stored at the first and second memory locations with the electronically delivered first digital form file to generate a first output file to the first printer which is configured to print a filled form including the data stored at the first memory location in the first pre-defined data input field at the location on the first standard form for the first pre-defined data input field and the data stored at the second memory location in the second pre-defined data input field at the location on the first standard form for the second pre-defined data input field. When an indication is received from the first user sub-system that the second standard form is the desired form, the first print engine is configured to merge the data stored at the third and fourth memory locations with the electronically delivered second digital form file to generate a second output file to the first printer which is configured to print a filled form including the data stored at the third memory location in the third pre-defined data input field at the location on the second standard form for the third pre-defined data input field and the data stored at the fourth memory location in the fourth pre-defined data input field at the location on the second standard form for the fourth pre-defined data input field. When an indication is received from the second user sub-system that the first standard form is the desired form, the second print engine is configured to merge the data stored at the fifth and sixth memory locations with the electronically delivered first digital form file to generate a third output file to the second printer which is configured to print a filled form including the data stored at the fifth memory location in the first pre-defined data input field at the location on the first standard form for the first pre-defined data input field and the data stored at the sixth memory location in the second pre-defined data input field at the location on the first standard form for the second pre-defined data input field. When an indication is received from the second user sub-system that the second standard form is the desired form, the second print engine is configured to merge the data stored at the seventh and eighth memory locations with the electronically delivered second digital form file to generate a second output file to the second printer which is configured to print a filled form including the data stored at the seventh memory location in the third pre-defined data input field at the location on the second standard form for the third pre-defined data input field and the data stored at the eighth memory location in the fourth pre-defined data input field at the location on the second standard form for the fourth pre-defined data input field.
According to another aspect of the disclosure, system for generating and providing at least one electronic form to a user includes a file management sub-system, a user sub-system, a mapper sub-system and a delivery sub-system. The file management sub-system is for receipt and management of at least one standard form including a location at which data of a first type is to be inserted thereon. The user sub-system is for selection of a desired form from the at least one standard form. The user sub-system comprises a memory location at which a data of the first type is stored, a print engine and a printer. The mapper sub-system runs mapper software for mapping of each of the at least one standard forms into a digital form file identifying graphical and/or textual elements of the standard form, at least one data input field for receipt of data of the first type and a location on the standard form for the at least one data input field. The delivery sub-system is operably connected to the file management sub-system, the mapper sub-system and the user sub-system. The delivery sub-system is capable of retrieving from the user sub-system an indication of a desired form selected from the at least one standard form and a delivery address for electronic delivery of a digital form file mapped from the desired form. The delivery sub-system includes a mechanism for creation of a script reflective of the desired form including the digital form file mapped from the desired form and a mechanism for execution of the script to electronically deliver the digital form file mapped from the desired form to the user sub-system at the delivery address. The print engine on the user sub-system is configured to merge the data stored at the memory location with the electronically delivered digital form file to generate an output file to the printer which is configured to print a filled form including the data stored at the memory location in the data input field at the location on the standard form for the at least one data input field.
According to yet another aspect of the disclosure, a system for generating and providing at least one electronic form to a user comprises a file management sub-system, a first user sub-system, a first print engine, a mapper sub-system and a delivery sub-system. The file management sub-system is for receipt and management of at least a first standard form and a second standard form. The first standard form includes a first location thereon in which data of a first type is to be inserted to generate a first filled form and a second location thereon in which data of a second type is to be inserted to generate the first filled form. The second standard form includes a third location thereon in which data of a third type is to be inserted to generate a second filled form and a fourth location thereon in which data of a fourth type is to be inserted to generate the second filled form. The first user sub-system is for selection of a desired form from the at least a first standard form and the second standard form. The user sub-system comprises at least a first memory location at which data of the first type is stored, a second memory location at which data of the second type is stored, a third memory location at which data of the third type is stored, a fourth memory location at which data of the fourth type is stored and a first printer. The mapper sub-system runs mapper software for mapping of the first standard form into a first digital form file and the second standard form into a second digital form file. The first digital form file identifies graphical and/or textual elements of the first standard form, a first pre-defined data input field for receipt of data of the first type to be placed on the first standard form, a location on the first standard form for the first pre-defined data input field, a second pre-defined data input field for receipt of data of the second type to be placed on the first standard form and a location on the first standard form for the second pre-defined data input field. The second digital form file identifying graphical and/or textual elements of the second standard form, a third pre-defined data input field for receipt of data of the third type to be placed on the second standard form, a location on the second standard form for the third pre-defined data input field, a fourth pre-defined data input field for receipt of data of the fourth type to be placed on the second standard form and a location on the second standard form for the fourth pre-defined data input field. The delivery sub-system is operably connected to the file management sub-system, the mapper sub-system and the first user sub-system. The delivery sub-system is capable of retrieving from the first user sub-system an indication of a desired form selected from the first and second standard forms and a delivery address for electronic delivery of a digital form file mapped from the desired form. The delivery sub-system includes a mechanism for creation of a script reflective of the desired form including the digital form file mapped from the desired form and a mechanism for execution of the script to electronically deliver the digital form file mapped from the desired form to the first user sub-system at the first delivery address. When it is indicated that the first standard form is the desired form, the print engine is configured to merge the data stored at the first and second memory locations with the electronically delivered first digital form file to generate a first output file to the printer which is configured to print a filled form including the data stored at the first memory location in the first pre-defined data input field at the location on the first standard form for the first pre-defined data input field and the data stored at the second memory location in the second pre-defined data input field at the location on the first standard form for the second pre-defined data input field. When it is indicated that the second standard form is the desired form, the print engine is configured to merge the data stored at the third and fourth memory locations with the electronically delivered second digital form file to generate a second output file to the printer which is configured to print a filled form including the data stored at the third memory location in the third pre-defined data input field at the location on the second standard form for the third pre-defined data input field and the data stored at the fourth memory location in the fourth pre-defined data input field at the location on the second standard form for the fourth pre-defined data input field.
According to one aspect of the disclosure, a method is disclosed for generating and providing at least one electronic form including at least a first electronic form of a first standard form from which a first filled standard form can be printed including a first location wherein data of a first type is printed and a second electronic form of a second standard form from which a second filled standard form can be printed including a second location wherein data of a second type is printed to a plurality of users including a first user that stores data of the first type at a first memory location and data of the second type at a second memory location and a second user that stores data of the first type at a third memory location and data of the second type at a fourth memory location, wherein the first and third memory locations are different and the second and fourth memory locations are different. The method comprises the following steps. The first standard form is collected in electronic format. The second standard form is collected in electronic format. is mapped The first standard form is mapped into a first digital form overlay file identifying graphical and/or textual elements of the first standard form, a first pre-defined data input field of the type to be placed on the first standard form in the location at which data of the first type is to be printed and a location on the first standard form for the first pre-defined data input field. The second standard form is mapped into a second digital form overlay file identifying graphical and/or textual elements of the second standard form, a second pre-defined data input field of the type to be placed on the second standard form in the location at which data of the second type is to be printed and a location on the second standard form for the second pre-defined data input field A request is accepted from the first user for electronic delivery of a first desired form selected from the first and second electronic forms. A request is accepted from the second user for electronic delivery of a second desired form selected from the first and second electronic forms. A first premapped data stream is generated correlating the first pre-defined data input field with the data stored at the first memory location and the second pre-defined data input field with the data stored at the second memory location. A second premapped data stream is generated correlating the first pre-defined data input field with the data stored at the third memory location and the second pre-defined data input field with the data stored at the fourth memory location. The digital form overlay file mapped from the first desired form is electronically delivered to the first user. The digital form overlay file mapped from the second desired form is electronically delivered to the second user. Data is extracted to create first extracted data from the first premapped data stream wherein the first extracted data is the data stored in the first memory location when the first desired form is the first electronic form and the extracted data is the data stored at the second memory location when the first desired form is the second electronic form. The first extracted data is merged with the digital form overlay mapped from the first desired form to create a first print file. The first print file is sent to a printer accessible to the first user to produce a hardcopy of a filled standard form. Data is extracted to create second extracted data from the second premapped data stream wherein the extracted data is the data stored in the third memory location when the second desired form is the first electronic form and the extracted data is the data stored at the fourth memory location when the second desired form is the second electronic form. The second extracted data is merged with the digital form overlay file mapped from the second desired form to create a second print file. The second print file is sent to a printer accessible to the second user to produce a hardcopy of a filled standard form.
Additional features and advantages of the invention will become apparent upon consideration of the following detailed description of a preferred embodiment exemplifying the best mode of carrying out the invention as presently perceived.